package com.zrrd.dq.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.zrrd.dq.beans.Student;

/***********************
 * Author ：杜泉      
 * Day ：2018年4月21日
 * Time ：上午10:59:02
 * Functions:    
 **********************/
//注解  这个用于进行 获取 内容
@Controller
//全局请求
@RequestMapping(value="dept/")
public class DeptController {
	/**
	 * @RequestMapping  请求对应的名称 value 具体url请求的地址    method 请求的方式
	 * @return
	 * 原来 JSP的内置对象 可以直接 写在你的方法的参数列表中
	 * HttpServletRequest  request,
	 * HttpServletResponse  response,
	 * HttpSession session
	 */
	@RequestMapping(value="query",method=RequestMethod.GET)
	public  ModelAndView  query(HttpServletResponse  response)
	{
		//模型视图器  这里可以保存对象信息 到前台进行  展示
		//模型视图器    对象与界面 直接 传递 
		ModelAndView  mav=new ModelAndView("list");
		
		ArrayList<String>   list=new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		
		mav.addObject("list", list);
		
		return  mav;
	}
	
	
	
	/**
	 * 这个方法用于 加载 Ajax页面 并 定时查询 数据
	 * @param response
	 * @return
	 */
	@RequestMapping(value="queryAjax",method=RequestMethod.GET)
	public  ModelAndView  queryAjax()
	{
		return  new ModelAndView("ajax");
	}
	
	
	
	@ResponseBody
	@RequestMapping(value="ajax",method=RequestMethod.GET)
	public  void  ajax(HttpServletResponse  response)
	{
		//模型视图器  这里可以保存对象信息 到前台进行  展示
		//模型视图器    对象与界面 直接 传递
		try {
			ArrayList<String>   list=new ArrayList<String>();
			list.add("a");
			list.add("b");
			list.add("c");
			
			PrintWriter   pw=response.getWriter();
			pw.append(list.toString());
			
		} catch (IOException e) {
			System.out.println("ajax");
			e.printStackTrace();
		}
	}
	
	
	/**
	 * 这个方法用于 加载 Ajax页面 并 定时查询 数据
	 * @param response
	 * @return
	 */
	@RequestMapping(value="queryAjaxPojo",method=RequestMethod.GET)
	public  ModelAndView  queryAjaxPojo()
	{
		return  new ModelAndView("ajaxPojo");
	}
	

	@ResponseBody
	@RequestMapping(value="ajaxPojo",method=RequestMethod.GET)
	public  void  ajaxPojo(HttpServletResponse  response)
	{
		//模型视图器  这里可以保存对象信息 到前台进行  展示
		//模型视图器    对象与界面 直接 传递
		try {
			ArrayList<Student>   list=new ArrayList<Student>();
			
			Student  stu1=new Student();
			stu1.setSid(1);
			stu1.setSname("A");
			list.add(stu1);
			
			Student  stu2=new Student();
			stu2.setSid(2);
			stu2.setSname("B");
			list.add(stu2);
			
			Student  stu3=new Student();
			stu3.setSid(3);
			stu3.setSname("C");
			list.add(stu3);
			
			
			PrintWriter   pw=response.getWriter();
			pw.append(JSONArray.fromObject(list).toString());
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
